// 负责创建和管理 系统托盘
const { Tray, Menu, app } = require('electron')
import icon from '../../../../resources/icon.png?asset'
export function createTray(mainWindow) {
  //实例化一个tray对象，构造函数的唯一参数是需要在托盘中显示的图标url
  let tray = new Tray(icon)

  //鼠标移到托盘中应用程序的图标上时，显示的文本
  tray.setToolTip('随时计')

  // 点击图标的相应事件，这里是切换主窗口的显示和隐藏
  tray.on('click', () => {
    if (mainWindow.isVisible()) {
      mainWindow.hide()
    } else {
      mainWindow.show()
    }
  })

  //右键点击图标时，出现的菜单，通过Menu.buildFromTemplate定制，这里只包含退出程序的选项。
  tray.on('right-click', () => {
    const menuConfig = Menu.buildFromTemplate([
      {
        label: '退出',
        click: () => app.quit()
      }
    ])
    tray.popUpContextMenu(menuConfig)
  })

  return tray
}
